package com.rsy.crm.workbench.dao;

import com.rsy.crm.workbench.domain.Activity;

import java.util.List;
import java.util.Map;

/**
 * 市场活动Dao
 */
public interface ActivityDao {
    /**
     * 添加市场活动
     * @param activity 实体类
     * @return 返回添加的记录数： 1
     */
    int save(Activity activity);

    /**根据条件进行分页查询
     * @param map
     * @return
     */
    List<Activity> getActivityListByCondition(Map<String, Object> map);

    /**
     * 获取数据库中所有的记录数
     * @param map
     * @return
     */
    int getTotalByCondition(Map<String, Object> map);

    /**
     * 删除市场活动
     * @param ids
     * @return
     */
    int delete(String[] ids);

    /**
     * 查询市场活动
     * @param id
     * @return
     */
    Activity getById(String id);

    /**
     * 更新
     * @param a
     * @return
     */
    int update(Activity a);

    /**
     * 查询市场活动 连表查询 user所属者
     * @param id
     * @return
     */
    Activity detail(String id);

    /**
     * 线索 与 活动关联
     * @param clueId
     * @return
     */
    List<Activity> getActivityListByClueId(String clueId);

    /**
     * 查询市场活动列表（根据名称模糊查+排除掉已经关联指定线索的列表
     * @param map
     * @return
     */
    List<Activity> getActivityListByNameAndNotByClueId(Map<String, String> map);

    /**
     * 查询市场活动列表（根据名称模糊查）
     * @param aname
     * @return
     */
    List<Activity> getActivityListByName(String aname);
}
